package com.cskaoyan.javase.operator.logical5;

/**
 * @description: 逻辑运算符
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 逻辑运算符：是专门用来计算布尔类型的运算符
 * 与，或，非，异或，短路与，短路或
 * 结果也一定是一个布尔类型的值
 *
 *
 */
public class Demo {
    public static void main(String[] args) {
        //与  & 并且，当前后都是true的时候结果才是true
        System.out.println(false & false);
        //或 | 或者，当前后有一个是true时，结果就是true
        System.out.println(false | false);
        //非 ! 非，当是真的时候，结果是false
        boolean b = true;
        System.out.println(!b);
        //异或 ^ 只有不相同的时候才是true，相同的时候都是false
        //都是false或者true的时候返回false，一边是false另一边是true，就返回true
        //相当于男女情侣关系
        System.out.println(b ^ true);

        //短路与 短路或 最为常用的 一天开发不写个三五个
        //短路与或和普通与或运算的方式是一样的
        //但是短路的时候，如果前面一个布尔结果已经足够判断整个表达式的结果，后面就不进行计算
        //与，前面已经是false了，后面就无需计算了，因为结果一定是false
        //或，如果前面的已经是true了，后面就无需计算了，因为结果一定是true
        //开发当中普遍使用短路与或




    }
}
